package cn.tedu.orderservice.repository;

import cn.tedu.orderservice.pojo.dto.DeviceChargingDTO;
import cn.tedu.orderservice.pojo.po.ChargingBillFailPO;
import cn.tedu.orderservice.pojo.po.ChargingBillSuccessPO;

public interface OrderRepository {
    /**
     * 成功订单
     * @param deviceChargingDTO
     */
    void saveSuccessful(DeviceChargingDTO deviceChargingDTO);

    /**
     * 失败订单
     * @param deviceChargingDTO
     */
    void saveFailed(DeviceChargingDTO deviceChargingDTO);

    /**
     * 更新异常订单
     * @param orderNo
     */
    void updateStatusFromNormalToException(String orderNo);

    /**
     * 查询成功订单
     * @param orderNo
     * @return
     */
    ChargingBillSuccessPO getSuccess(String orderNo);

    /**
     * 查询失败订单
     * @param orderNo
     * @return
     */
    ChargingBillFailPO getFail(String orderNo);

    /**
     * 更新成功订单信息
     * @param orderNo
     * @param gunId
     */
    void updateSuccessOrder(String orderNo, Long gunId);

    void updateStatus2NormalStop(String orderNo);
}
